public class PlayerWallclimbState : PlayerToucingWallState
{
    public PlayerWallclimbState(Player player, PlayerSM stateMachine, PlayerData playerData, string animBoolName,
        Core core) : base(player, stateMachine, playerData, animBoolName, core)
    {
    }

    public override void LogicUpdate()
    {
        base.LogicUpdate();
        if (!_isExitingState)
        {
            if (_Yinput > 0)
                _core.Movement.SetVelocityY(_playerData._wallClimbVelocity);
            else
                _stateMachine.ChangeState(_player.WallGrabState);
        }
    }
}